# null model
m0 = lmer(avlambda ~ (1|Binomial), data = df)
m1 = lmer(avlambda ~ Class + (1|Binomial), data = df)
m2 = lmer(avlambda ~ Class + System + (1|Binomial), data = df)
m3 = lmer(avlambda ~ System + (1|Binomial), data = df)
# adding traits
# body size only
# class should be in each model because body size is normalised within classes
m4 = lmer(avlambda ~ log10(BodySize) + Class + (1|Binomial), data = df)
m5 = lmer(avlambda ~ log10(BodySize) + Class + System + (1|Binomial), data = df)
m6 = lmer(avlambda ~ Class*log10(BodySize) + (1|Binomial), data = df)
m7 = lmer(avlambda ~ System*log10(BodySize) + (1|Binomial), data = df)
# trophic level only
m8 = lmer(avlambda ~ TrophicLevel + (1|Binomial), data = df)
m9 = lmer(avlambda ~ TrophicLevel + Class + (1|Binomial), data = df)
m10 = lmer(avlambda ~ TrophicLevel + System + (1|Binomial), data = df)
m11 = lmer(avlambda ~ Class*TrophicLevel + (1|Binomial), data = df)
m12 = lmer(avlambda ~ System*TrophicLevel + (1|Binomial), data = df)
# lifespan only
m13 = lmer(avlambda ~ LifeSpan + (1|Binomial), data = df)
m14 = lmer(avlambda ~ LifeSpan + Class + (1|Binomial), data = df)
m15 = lmer(avlambda ~ LifeSpan + System + (1|Binomial), data = df)
m16 = lmer(avlambda ~ Class*LifeSpan + (1|Binomial), data = df)
m17 = lmer(avlambda ~ System*LifeSpan + (1|Binomial), data = df)
# all three traits
m18 = lmer(avlambda ~ log10(BodySize) + TrophicLevel + Class + (1|Binomial), data = df)
m19 = lmer(avlambda ~ log10(BodySize) + LifeSpan + Class + (1|Binomial), data = df)
m20 = lmer(avlambda ~ TrophicLevel + LifeSpan + (1|Binomial), data = df)
m21 = lmer(avlambda ~ log10(BodySize) + TrophicLevel + LifeSpan + Class + (1|Binomial), data = df)
compare_performance(m0, m1, m2, m3, # no traits
m4, m5, m6, m7, # body size
m8, m9, m10, m11, m12, # trophic level
m13, m14, m15, m16, m17, # lifespan
m18, m19, m20, m21, # variations of 2 or 3 traits
rank = TRUE) %>%
kableExtra::kable() %>% kableExtra::kable_styling("striped")
## Warning: When comparing models, please note that probably not all models were fit from
## same data.
|
Name
|
Model
|
AIC
|
BIC
|
R2_conditional
|
R2_marginal
|
ICC
|
RMSE
|
Sigma
|
Performance_Score
|
|
m12
|
lmerMod
|
-3484.318
|
-3434.858
|
0.0344799
|
0.0070380
|
0.0276364
|
0.1442165
|
0.1458214
|
0.7436109
|
|
m17
|
lmerMod
|
-2792.812
|
-2745.157
|
0.0349758
|
0.0035132
|
0.0315735
|
0.1426739
|
0.1444300
|
0.6869477
|
|
m16
|
lmerMod
|
-2754.346
|
-2682.864
|
0.0348728
|
0.0045354
|
0.0304756
|
0.1427100
|
0.1445135
|
0.6717119
|
|
m3
|
lmerMod
|
-3731.612
|
-3700.451
|
0.0287336
|
0.0008569
|
0.0279006
|
0.1433590
|
0.1449232
|
0.6674733
|
|
m2
|
lmerMod
|
-3698.554
|
-3642.465
|
0.0287815
|
0.0012209
|
0.0275943
|
0.1433705
|
0.1449900
|
0.6563250
|
|
m15
|
lmerMod
|
-2821.070
|
-2785.329
|
0.0332686
|
0.0023704
|
0.0309716
|
0.1427849
|
0.1444749
|
0.6301942
|
|
m1
|
lmerMod
|
-3716.499
|
-3672.874
|
0.0274099
|
0.0009377
|
0.0264971
|
0.1434913
|
0.1450286
|
0.6119816
|
|
m0
|
lmerMod
|
-3749.237
|
-3730.540
|
0.0267208
|
0.0000000
|
0.0267208
|
0.1435183
|
0.1449990
|
0.5970885
|
|
m20
|
lmerMod
|
-2764.790
|
-2735.121
|
0.0321373
|
0.0010856
|
0.0310854
|
0.1427699
|
0.1444436
|
0.5768952
|
|
m14
|
lmerMod
|
-2806.674
|
-2759.019
|
0.0317655
|
0.0027432
|
0.0291021
|
0.1429363
|
0.1445953
|
0.5695060
|
|
m10
|
lmerMod
|
-3477.528
|
-3440.432
|
0.0303236
|
0.0007225
|
0.0296225
|
0.1444603
|
0.1461167
|
0.5593490
|
|
m13
|
lmerMod
|
-2838.051
|
-2814.223
|
0.0305789
|
0.0009854
|
0.0296227
|
0.1429702
|
0.1445652
|
0.5340956
|
|
m9
|
lmerMod
|
-3464.275
|
-3414.814
|
0.0291992
|
0.0012213
|
0.0280120
|
0.1445836
|
0.1462083
|
0.5136546
|
|
m11
|
lmerMod
|
-3438.892
|
-3364.701
|
0.0294176
|
0.0022798
|
0.0271998
|
0.1446067
|
0.1462690
|
0.5131828
|
|
m8
|
lmerMod
|
-3495.097
|
-3470.367
|
0.0283156
|
0.0000626
|
0.0282548
|
0.1446258
|
0.1461892
|
0.4900129
|
|
m21
|
lmerMod
|
-2620.727
|
-2561.679
|
0.0316940
|
0.0049938
|
0.0268343
|
0.1436730
|
0.1452933
|
0.4735210
|
|
m19
|
lmerMod
|
-2690.376
|
-2637.026
|
0.0299372
|
0.0046017
|
0.0254526
|
0.1438789
|
0.1454150
|
0.4218233
|
|
m7
|
lmerMod
|
-3300.138
|
-3250.908
|
0.0272120
|
0.0041042
|
0.0232031
|
0.1462725
|
0.1476922
|
0.2984165
|
|
m5
|
lmerMod
|
-3285.099
|
-3223.563
|
0.0270297
|
0.0038099
|
0.0233085
|
0.1462965
|
0.1477618
|
0.2821156
|
|
m6
|
lmerMod
|
-3272.807
|
-3198.964
|
0.0269604
|
0.0046568
|
0.0224079
|
0.1463353
|
0.1477959
|
0.2768063
|
|
m18
|
lmerMod
|
-3229.298
|
-3174.085
|
0.0270545
|
0.0038142
|
0.0233293
|
0.1463291
|
0.1477786
|
0.2678371
|
|
m4
|
lmerMod
|
-3302.971
|
-3253.742
|
0.0258020
|
0.0035489
|
0.0223323
|
0.1464042
|
0.1477872
|
0.2433530
|
check_model(m12)
## Registered S3 method overwritten by 'see':
## method from
## plot.visualisation_recipe datawizard

plot_model(m12, type="pred")
## $System

##
## $TrophicLevel

check_model(m17)

plot_model(m17, type="pred")
## $System

##
## $LifeSpan

Mammals only
df = filter(df, Class == "Mammals")
# null model
m0 = lmer(avlambda ~ (1|Binomial), data = df)
m1 = lmer(avlambda ~ System + (1|Binomial), data = df)
# adding traits
# body size only
# class should be in each model because body size is normalised within classes
m2 = lmer(avlambda ~ log10(BodySize) + (1|Binomial), data = df)
m3 = lmer(avlambda ~ log10(BodySize) + System + (1|Binomial), data = df)
m4 = lmer(avlambda ~ System*log10(BodySize) + (1|Binomial), data = df)
# trophic level only
m5 = lmer(avlambda ~ TrophicLevel + (1|Binomial), data = df)
m6 = lmer(avlambda ~ TrophicLevel + System + (1|Binomial), data = df)
m7 = lmer(avlambda ~ System*TrophicLevel + (1|Binomial), data = df)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
# lifespan only
m8 = lmer(avlambda ~ LifeSpan + (1|Binomial), data = df)
m9 = lmer(avlambda ~ LifeSpan + System + (1|Binomial), data = df)
m10 = lmer(avlambda ~ System*LifeSpan + (1|Binomial), data = df)
# all three traits
m11 = lmer(avlambda ~ log10(BodySize) + TrophicLevel + (1|Binomial), data = df)
m12 = lmer(avlambda ~ log10(BodySize) + LifeSpan + (1|Binomial), data = df)
m13 = lmer(avlambda ~ TrophicLevel + LifeSpan + (1|Binomial), data = df)
m14 = lmer(avlambda ~ log10(BodySize) + TrophicLevel + LifeSpan + (1|Binomial), data = df)
compare_performance(m0, m1, m2, m3, # no traits
m4, m5, m6, m7, # body size
m8, m9, m10, m11, m12, # trophic level
m13, m14,
rank = TRUE) %>%
kableExtra::kable() %>% kableExtra::kable_styling("striped")
## Warning: When comparing models, please note that probably not all models were fit from
## same data.
|
Name
|
Model
|
AIC
|
BIC
|
R2_conditional
|
R2_marginal
|
ICC
|
RMSE
|
Sigma
|
Performance_Score
|
|
m0
|
lmerMod
|
-549.5214
|
-536.8064
|
0.1411602
|
0.0000000
|
0.1411602
|
0.1288703
|
0.1333527
|
0.6658289
|
|
m1
|
lmerMod
|
-537.0340
|
-515.8424
|
0.1440130
|
0.0018767
|
0.1424036
|
0.1288038
|
0.1334836
|
0.6304249
|
|
m5
|
lmerMod
|
-528.4845
|
-511.5783
|
0.1470112
|
0.0010618
|
0.1461046
|
0.1294370
|
0.1340546
|
0.5333330
|
|
m10
|
lmerMod
|
-478.5389
|
-444.8701
|
0.1662056
|
0.0094111
|
0.1582841
|
0.1292813
|
0.1343960
|
0.4965451
|
|
m6
|
lmerMod
|
-517.4200
|
-492.0608
|
0.1474932
|
0.0073672
|
0.1411660
|
0.1295651
|
0.1342669
|
0.4723935
|
|
m9
|
lmerMod
|
-497.5250
|
-472.2735
|
0.1578560
|
0.0052733
|
0.1533916
|
0.1295625
|
0.1344217
|
0.4720836
|
|
m7
|
lmerMod
|
-512.8395
|
-483.2538
|
0.1489400
|
0.0077830
|
0.1422643
|
0.1294622
|
0.1342922
|
0.4681582
|
|
m8
|
lmerMod
|
-508.3950
|
-491.5606
|
0.1522503
|
0.0001447
|
0.1521276
|
0.1297337
|
0.1344028
|
0.4518742
|
|
m13
|
lmerMod
|
-499.5349
|
-478.4920
|
0.1547510
|
0.0005985
|
0.1542449
|
0.1296786
|
0.1344559
|
0.4356266
|
|
m3
|
lmerMod
|
-515.4520
|
-490.0928
|
0.1441356
|
0.0054117
|
0.1394787
|
0.1297207
|
0.1343866
|
0.4095153
|
|
m4
|
lmerMod
|
-506.7624
|
-472.9501
|
0.1470324
|
0.0094465
|
0.1388980
|
0.1296293
|
0.1344886
|
0.3978358
|
|
m11
|
lmerMod
|
-519.3538
|
-498.2211
|
0.1409569
|
0.0091976
|
0.1329824
|
0.1299628
|
0.1344166
|
0.3917501
|
|
m2
|
lmerMod
|
-528.0130
|
-511.1068
|
0.1372132
|
0.0054848
|
0.1324549
|
0.1300012
|
0.1343735
|
0.3888326
|
|
m12
|
lmerMod
|
-503.7635
|
-482.7205
|
0.1416670
|
0.0251471
|
0.1195255
|
0.1307862
|
0.1349347
|
0.2748103
|
|
m14
|
lmerMod
|
-494.8254
|
-469.5738
|
0.1441352
|
0.0240254
|
0.1230665
|
0.1306399
|
0.1349394
|
0.2653492
|
check_model(m12)

plot_model(m12, type="pred")
## $BodySize

##
## $LifeSpan

plot_model(m12, type="re")
## Warning in checkMatrixPackageVersion(): Package version inconsistency detected.
## TMB was built with Matrix version 1.2.18
## Current Matrix version is 1.3.2
## Please re-install 'TMB' from source using install.packages('TMB', type = 'source') or ask CRAN for a binary version of 'TMB' matching CRAN's 'Matrix' package

plot_model(m12, type="resid")
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'

plot_model(m12, type="est")

check_model(m17)

plot_model(m17, type="pred")
## $System

##
## $LifeSpan
